package uestc.lj.gulishop.seckill.service;

import uestc.lj.gulishop.seckill.to.SeckillSkuRedisTO;

import java.util.List;

/**
 * @Author:Crazlee
 * @Date:2021/6/23
 */
public interface SeckillService {
    /**
     * 执行上架功能
     */
    void uploadSeckillSkuInThreeDays();


    /**
     * 返回当前时间可以参与的秒杀商品信息
     *
     * @return
     */
    List<SeckillSkuRedisTO> getCurrentSeckillSkus();

    /**
     * 根据skuId获取当前商品是否参与秒杀
     *
     * @param skuId
     * @return
     */
    List<SeckillSkuRedisTO> getSkuSeckillInfo(Long skuId);

    /**
     * 执行秒杀处理逻辑，返回订单号
     * @param killId 秒杀场次+秒杀商品id
     * @param key 秒杀活动的随机码
     * @param num 抢购数量
     * @return 订单号
     */
    String kill(String killId, String key, Integer num);

}
